package com.ruoyi.module.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户单词学习记录对象 user_word_record
 * 
 * @author ruoyi
 */
public class UserWordRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 单词 */
    @Excel(name = "单词")
    private String word;

    /** 词典ID */
    @Excel(name = "词典ID")
    private String dictId;

    /** 章节号（-1表示复习模式） */
    @Excel(name = "章节号")
    private Integer chapter;

    /** 记录时间戳（UTC） */
    @Excel(name = "记录时间戳")
    private Long timestamp;

    /** 每个字母输入时间差（JSON数组） */
    private String timing;

    /** 错误次数 */
    @Excel(name = "错误次数")
    private Integer wrongCount;

    /** 字母错误记录（JSON对象） */
    private String mistakes;

    /** 总用时（毫秒） */
    @Excel(name = "总用时")
    private Integer totalTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setWord(String word) 
    {
        this.word = word;
    }

    public String getWord() 
    {
        return word;
    }

    public void setDictId(String dictId) 
    {
        this.dictId = dictId;
    }

    public String getDictId() 
    {
        return dictId;
    }

    public void setChapter(Integer chapter) 
    {
        this.chapter = chapter;
    }

    public Integer getChapter() 
    {
        return chapter;
    }

    public void setTimestamp(Long timestamp) 
    {
        this.timestamp = timestamp;
    }

    public Long getTimestamp() 
    {
        return timestamp;
    }

    public void setTiming(String timing) 
    {
        this.timing = timing;
    }

    public String getTiming() 
    {
        return timing;
    }

    public void setWrongCount(Integer wrongCount) 
    {
        this.wrongCount = wrongCount;
    }

    public Integer getWrongCount() 
    {
        return wrongCount;
    }

    public void setMistakes(String mistakes) 
    {
        this.mistakes = mistakes;
    }

    public String getMistakes() 
    {
        return mistakes;
    }

    public void setTotalTime(Integer totalTime) 
    {
        this.totalTime = totalTime;
    }

    public Integer getTotalTime() 
    {
        return totalTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("word", getWord())
            .append("dictId", getDictId())
            .append("chapter", getChapter())
            .append("timestamp", getTimestamp())
            .append("timing", getTiming())
            .append("wrongCount", getWrongCount())
            .append("mistakes", getMistakes())
            .append("totalTime", getTotalTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}

